package cn.edu.gdu.quizpractice.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.LocalDateTime; // 引入 LocalDateTime

/**
 * 用户实体类
 */
@Data
@TableName("t_users") // 指定数据库表名
public class User {

    @TableId(value = "user_id", type = IdType.AUTO) // 指定主键字段和生成策略
    private Long id;

    @TableField("openid") // 指定数据库列名
    private String openid;

    @TableField("session_key") // 指定数据库列名
    private String sessionKey;

    @TableField("nickname") // 指定数据库列名
    private String nickname;

    @TableField("avatar_url")
    private String avatarUrl;

    @TableField("gender") // 性别 0-未知 1-男 2-女
    private Integer gender;

    @TableField("country") // 国家
    private String country;

    @TableField("province") // 省份
    private String province;

    @TableField("city") // 城市
    private String city;

    @TableField("language") // 语言
    private String language;

    @TableField("create_time") // 创建时间
    private LocalDateTime createTime;

    @TableField("last_login_time") // 最后登录时间
    private LocalDateTime lastLoginTime;

    @TableField("status") // 状态 0-禁用，1-正常
    private Integer status;

    // 使用 Lombok 的 @Data 注解自动生成 getter、setter、toString、equals 和 hashCode 方法
}
